
#ifndef ROBOT_H
#define ROBOT_H

#include <string>
#include <vector>

#include "Afficheur.h"


/**
  * class Robot
  * 
  */

class Robot
{
public:

  // Constructors/Destructors
  //  


  /**
   * Empty Constructor
   */
  Robot ( );

  /**
   * Empty Destructor
   */
  virtual ~Robot ( );

  // Static Public attributes
  //  

  // Public attributes
  //  


  vector<Afficheur*> m_observateurVector;

  // Public attribute accessor methods
  //  


  // Public attribute accessor methods
  //  


  /**
   * Add a Observateur object to the m_observateurVector List
   */
  void addObservateur ( Afficheur * add_object );

  /**
   * Remove a Observateur object from m_observateurVector List
   */
  void removeObservateur ( Afficheur * remove_object );

  /**
   * Get the list of Observateur objects held by m_observateurVector
   * @return vector<Afficheur *> list of Observateur objects held by
   * m_observateurVector
   */
  vector<Afficheur *> getObservateurList ( );


  /**
   */
  void attache ( );


  /**
   */
  void detache ( );


  /**
   */
  void afficher ( );
protected:

  // Static Protected attributes
  //  

  // Protected attributes
  //  

public:


  // Protected attribute accessor methods
  //  

protected:

public:


  // Protected attribute accessor methods
  //  

protected:


private:

  // Static Private attributes
  //  

  // Private attributes
  //  

public:


  // Private attribute accessor methods
  //  

private:

public:


  // Private attribute accessor methods
  //  

private:



};

#endif // ROBOT_H
